package com.ruoyi.bizsys.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.bizsys.domain.CustReduceOrder;
import com.ruoyi.bizsys.domain.RepaymentOrder;

import java.util.List;

/**
 * 客户减免订单记录Service接口
 *
 * @author wqg
 * @date 2022-04-07
 */
public interface ICustReduceOrderService extends IService<CustReduceOrder>{
    /**
     * 查询客户减免订单记录
     *
     * @param id 客户减免订单记录ID
     * @return 客户减免订单记录
     */
    public CustReduceOrder selectCustReduceOrderById(Long id);

    /**
     * 查询客户减免订单记录列表
     *
     * @param custReduceOrder 客户减免订单记录
     * @return 客户减免订单记录集合
     */
    public List<CustReduceOrder> selectCustReduceOrderList(CustReduceOrder custReduceOrder);

    /**
     * 新增客户减免订单记录
     *
     * @param custReduceOrder 客户减免订单记录
     * @return 结果
     */
    public int insertCustReduceOrder(CustReduceOrder custReduceOrder);

    /**
     * 修改客户减免订单记录
     *
     * @param custReduceOrder 客户减免订单记录
     * @return 结果
     */
    public int updateCustReduceOrder(CustReduceOrder custReduceOrder);

    /**
     * 批量删除客户减免订单记录
     *
     * @param ids 需要删除的客户减免订单记录ID
     * @return 结果
     */
    public int deleteCustReduceOrderByIds(Long[] ids);

    /**
     * 删除客户减免订单记录信息
     *
     * @param id 客户减免订单记录ID
     * @return 结果
     */
    public int deleteCustReduceOrderById(Long id);

    void insertAndupdateRorder(CustReduceOrder custReduceOrder);

    /**
     * 更新减免优惠信息、CustReduceOrder、custReduceData、ReduceFee、LoanIou
     * @param repaymentOrder
     * @param constans
     */
    void updateAndAddReduceInfo(RepaymentOrder repaymentOrder,String constans);
}
